home *** CD-ROM | disk | FTP | other *** search
/ PC Home 138 / PC Home issue 138.iso / Software / Essentials / Netscape / nim.xpi / bin / chrome / aim.jar / content / aim / incomingFile.js < prev    next >
Encoding:
Text File  |  2002-06-17  |  4.3 KB  |  126 lines

  1. // globals
  2. // window arguments defined here, but may not be used.
  3. // mainly to test & explain valid arguments.
  4.  
  5. inviteArgsObj = window.arguments[0];
  6.  
  7. var inviteMode                = inviteArgsObj.inviteMode;
  8. var inviteProposalObj         = inviteArgsObj.inviteProposalObj;
  9. var inviteMsg                 = inviteProposalObj.GetInvitation();
  10. var fileProposalScreenName    = inviteArgsObj.inviteProposalScreenName;
  11.  
  12. var nsIFilePicker = Components.interfaces.nsIFilePicker;
  13. var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
  14. var fileXferSession;
  15. var fileName;
  16. var fileXferSessionCallback = new Object();
  17. var remoteError = false;
  18.  
  19. fileXferSessionCallback.OnStateChange = function (state, msg)
  20. {
  21.   var stateEnum = Components.interfaces.nsAimFileXferStates;
  22.   if (stateEnum.Complete == state)
  23.   {
  24.       window.close();
  25.   }
  26.   if (stateEnum.Progress == state)
  27.   {
  28.       if (document.getElementById("imfileprogress").getAttribute("mode") !="determined"){
  29.         document.getElementById("imfileprogress").setAttribute("mode", "determined");
  30.       }
  31.       document.getElementById("filestate").setAttribute("value", fileXferSession.GetTotalBytes() + " / " + fileXferSession.GetTotalSize() * 100);
  32.     document.getElementById("imfileprogress").setAttribute("value", fileXferSession.GetTotalBytes() / fileXferSession.GetTotalSize() * 100);
  33.   }
  34.         if (stateEnum.Error == state)
  35.         {
  36.                 alert(msg);
  37.                 remoteError = true;
  38.                 window.close();
  39.         }
  40. }
  41.  
  42. function incomingFileOnWinLoad(){
  43.    dump("incomingFileOnWinLoad\n");
  44.  
  45.    if(inviteMode && inviteMode=="incomingfile"){
  46.      //setButtons(aimString('chat.YesButton'), aimString('chat.NoButton'), aimString('accept.tooltip'), aimString('decline.tooltip'));
  47.     
  48.       dump("incoming file\n");
  49.  
  50.       doSetOKCancel(incomingFileCmdAcceptRendezvous, incomingfileCmdDeclineRendezvous);
  51.  
  52.       if(inviteProposalObj)
  53.       {
  54.          incomingChatRoomInviteMsg = inviteProposalObj.GetInvitation();
  55.  
  56.          document.getElementById("IncomingFile").setAttribute("title",fileProposalScreenName);
  57.  
  58.          var descriptionNode = top.frames['description'];
  59.          
  60.          var myRange = descriptionNode.document.createRange();
  61.          var descriptionBody = descriptionNode.document.body;
  62.          myRange.setStartAfter(descriptionBody);
  63.  
  64.          var docFrag = myRange.createContextualFragment(inviteMsg);
  65.          descriptionBody.appendChild(docFrag)
  66.  
  67.          inviteProposalObj.Accept();
  68.          fileXferSession = fileXfer().Receive(inviteProposalObj);
  69.          inviteArgsObj.fileXferSession = fileXferSession;
  70.          document.getElementById("size").setAttribute("label", aimString('file.buddy') + "    (" + aimString('file.size') + " " + fileXferSession.GetTotalSize() + " " + aimString('file.bytes') + ")");
  71.          fileName = fileXferSession.GetFileName();
  72.          document.getElementById("filename").setAttribute("value",fileName);
  73.          fileXferSession.SetScreenName(fileProposalScreenName);
  74.          fileXferSession.SetInviteMode(0);
  75.        } 
  76.       fileXferSession.SetFileXferSessionCallback(fileXferSessionCallback);
  77.    }
  78. }
  79.  
  80. function incomingFileOnWinUnLoad(){
  81.    //window.close();
  82. }
  83.  
  84. function cmdIncomingFileWarn()
  85. {
  86. }
  87.  
  88. function incomingfileCmdDeclineRendezvous()
  89. {
  90.    inviteProposalObj.Reject();
  91.    window.close();
  92. }
  93.  
  94. function incomingFileCmdAcceptRendezvous(){
  95.    var fileLocation = document.getElementById("filelocation").value;
  96.    if (fileLocation && fileLocation.length > 0)
  97.        inviteArgsObj.filepath = document.getElementById("filelocation").value;
  98.    else
  99.    {
  100.        alert(aimString('file.pickdirectory'));
  101.        return;
  102.    }
  103.  
  104.    window.openDialog('chrome://aim/content/transfer.xul','_blank','chrome,all,dialog=no',inviteArgsObj); 
  105.    window.close();
  106. }
  107.  
  108. function openfilepicker()
  109. {
  110.       fp.init(window, aimString('file.choose'), nsIFilePicker.modeSave);
  111.       fp.defaultString = fileName;
  112.  
  113.       fp.appendFilters(nsIFilePicker.filterAll);
  114.  
  115.       try {
  116.          fp.show();
  117.       }
  118.       catch (ex) {
  119.          dump ("filePicker.chooseInputFile threw an exception\n");
  120.          return false;
  121.       }
  122.       if (fp.file && fp.file.path.length > 0)
  123.           document.getElementById("filelocation").setAttribute("value", fp.file.path);
  124. }
  125.  
  126.